const moment = require('moment');
module.exports = function (sequelize, DataTypes) {
    return sequelize.define('forget_table', {
        // ID
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true,
            allowNull: true,
            autoIncrement: true,
        },
        // 主表ID
        forgetid: {
            type: DataTypes.STRING,
            allowNull: true,
            field:'forgetid',
            unique:true,
        },
        // 姓名
        Name: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'Name',
        },
        // 部门
        DEFAULTDEPTID: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'DEFAULTDEPTID',
        },
        // 二级部门
        secondDEFAULTDEPTID: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'secondDEFAULTDEPTID',
        },
        //用户编号(工号)
        SSN: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'SSN',
            //unique: 'compositeIndex'
        },
        //未打卡日期
        notclockdate: {
            type: DataTypes.DATE,
            allowNull: true,
            field: 'notclockdate',
            //unique: 'compositeIndex'
        },
        //未打卡区段
        sector: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'sector'
        },
        //实际应打卡时间
        clockdate: {
            type: DataTypes.DATE,
            allowNull: false,
            field: 'clockdate',
        },
        //未打卡原因
        reason: {
            type: DataTypes.STRING,
            allowNull: true,
            field: 'reason'
        },
        // 考勤员流程处理意见
        suggestion:{
            type: DataTypes.STRING,
            allowNull: true,
            field: 'suggestion'
        },
        //流程状态
        state:{
            type: DataTypes.STRING,
            allowNull: true,
            field: 'state'
        },
        //创建时间
        createdAt: {
            type: DataTypes.DATE,
            get() {
                return moment(this.getDataValue('createdAt')).format('YYYY-MM-DD HH:mm:ss');
            }
        },
        // 更新时间
        updatedAt: {
            type: DataTypes.DATE,
            get() {
                return moment(this.getDataValue('updatedAt')).format('YYYY-MM-DD HH:mm:ss');
            }
        }
    }, {
        // 如果为 true 则表的名称和 model 相同，即 user
        // 为 false MySQL创建的表名称会是复数 users
        // 如果指定的表名称本就是复数形式则不变
        freezeTableName: true
    })
}